---
title: clsOutOFTownRotationAssgn
summary: API reference for clsOutOFTownRotationAssgn.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsOutOFTownRotationAssgn

`clsOutOFTownRotationAssgn` represents one out-of-town rotation assignment linking a hearing location to an attorney for a dated coverage period.* It surfaces the hearing-location lookup list, resolves the selected location and attorney names, and enforces future-oriented date rules before the row can be saved.

## Purpose
- Stores the location code, attorney employee ID, and effective/expiration dates for one out-of-town rotation row.
- Provides lookup-backed location/attorney display values and validation that expiration dates stay future-dated and on or after the effective date.

## Context
- Namespace: `SAIF.Business.Claim.Legal.TableMaint`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type | Purpose |
|---|---|---|---|
| OutOfTownRotationID | Property | `Decimal` | Unique sequence number for the `OUT_OF_TOWN_ROTATION_ASSGN` row. |
| HearingLocationCode | Property | `String` | Code identifying the hearing location covered by the rotation assignment. |
| HearingLocationCodes | Read-only property | `List(Of clsCodeTableBase.CodeTableInfo(Of String))` | Lookup list of hearing locations available for rotation assignments. |
| HearingLocationName | Read-only property | `String` | Resolved description for the selected hearing location code. |
| EffectiveDate | Property | `Date` | Date the row becomes effective. |
| ExpirationDate | Property | `Nullable(Of Date)` | Date the row stops applying; when cleared, the row remains open-ended. |
| ExpirationDateSort | Property | `Date` | Non-null helper value used when list views sort by expiration date. |
| AttorneyEmployeeID | Property | `String` | Employee ID of the attorney attached to this row. |
| AttorneyName | Property | `String` | Display name resolved for the selected attorney. |
| Create() | Protected Method | `—` | Obtains the next `OUT_OF_TOWN_ROTATION_ASSGN_SEQ` value for a new out-of-town rotation row. |
| BeforeRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the retrieve request used to load this out-of-town rotation assignment row. |
| AfterRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `IBusinessObject` | Copies the retrieved result-set row into this out-of-town rotation assignment row and marks it as persisted. |
| BeforeInsert(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the insert request for `OUT_OF_TOWN_ROTATION_ASSGN`. |
| AfterInsert(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was inserted and marks the object persisted; records an error when the insert fails. |
| BeforeUpdate(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the update request for `OUT_OF_TOWN_ROTATION_ASSGN`. |
| AfterUpdate(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was updated and marks the object persisted; records a contention error when the update fails. |
| BeforeDelete(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the delete request for `OUT_OF_TOWN_ROTATION_ASSGN` using this row's key values. |
| AfterDelete(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was deleted and resets the object to a new state; records a contention error when the delete fails. |
| SetExpDateNull() | Method | `—` | Clears the stored expiration date so the row becomes open-ended. |
| SetAttorneyEmplidNull() | Method | `—` | Clears the stored attorney employee ID value. |
| IsExpDateNull() | Method | `Boolean` | Reports whether the stored expiration date is currently empty. |
| IsAttorneyEmplidNull() | Method | `Boolean` | Reports whether the stored attorney employee ID value is currently empty. |
| Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow) | Protected Friend Method | `—` | Loads this out-of-town rotation assignment row from a retrieved `clsResultSet.DataRow` and attaches criteria/data-portal state. |
| New() | Protected Friend Constructor | `—` | Framework constructor used when the data portal creates or materializes an instance. |
| New(inDataPortalInfo As IDataPortalInfo) | Protected Friend Constructor | `—` | Framework constructor that prepares the instance with data-portal context before creation or loading. |
| NewOutOFTownRotationAssgn(inDataportal As IDataPortalInfo) | Shared Method | `clsOutOFTownRotationAssgn` | Creates a new unsaved out-of-town rotation assignment row through the data portal so framework initialization runs. |
| GetOutOFTownRotationAssgn(inDataportal As IDataPortalInfo) | Shared Method | `clsOutOFTownRotationAssgn` | Retrieves an out-of-town rotation object through the type's criteria-defined retrieval path.* |
| AddBusinessRules() | Protected Method | `—` | Registers rules requiring future effective and expiration dates and enforcing expiration on or after the effective date. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\TableMaint\clsOutOFTownRotationAssgn.vb`
